module.exports = {
  extends: ['@commitlint/config-conventional'],
  // 校验规则
  rules: {
    // 定义允许的提交类型
    'type-enum': [
      2, // 规则的级别，2 表示错误
      'always',
      [
        'init',           // 初始化
        'feat',           // 新功能
        'fix',            // 修复 bug
        'docs',           // 文档变更
        'style',          // 代码格式（不影响代码运行的变更）
        'refactor',       // 代码重构（既不是修复 bug 也不是添加功能）
        'perf',           // 性能优化
        'test',           // 添加测试
        'chore',          // 构建过程或辅助工具变动
        'revert',         // 撤销之前的提交
        'build',          // 影响构建系统或外部依赖的变更(比如npm或husky)
      ],
    ],

    // 以下规则被禁用
    // type-case: 不要求类型为特定格式（如小写）
    'type-case': [0],

    // type-empty: 不要求类型不能为空
    'type-empty': [0],

    // scope-empty: 不要求 scope 不能为空
    'scope-empty': [0],

    // scope-case: 不要求 scope 为特定格式（如小写）
    'scope-case': [0],

    // subject-full-stop: 不要求主题以句号结束
    'subject-full-stop': [0, 'never'],

    // subject-case: 不要求主题为特定格式（如小写）
    'subject-case': [0, 'never'],

    // header-max-length: 不限制提交信息的最大长度
    'header-max-length': [0, 'always', 72],
  },
};
